package com.example.chatroom.model;

import org.apache.ibatis.annotations.Mapper;

import java.util.List;

@Mapper
public interface MessageSessionMapper {
    // 根据 userId 获取到该用户都在哪些会话中存在, 返回结果是一组 sessionId
    List<Integer> getSessionIdByUserId(int userId);

    // 根据 sessionId 再来查询这个会话包含了哪些用户(刨除最初的自己)
    List<Friend> getFriendsBySessionId(int sessionId, int selfUserId);

    // 创建会话时 新增会话记录, 同时返回 sessionId (获取自增主键)
    void addMessageSession(MessageSession messageSession);

    // 创建会话时 在 message_session_user 表中新增会话中的关系
    void addMessageSessionUser(MessageSessionUser messageSessionUser);

    // 每当发送一个消息的时候, 将 message_session 中的 lastTime 修改为当前时间
    int updateLastTimeFromMessageSession(int sessionId);
}
